package com.yichang.comisiones.dto;

import java.io.Serializable;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author josh
 */
public class ComisionVentaDTO implements Serializable{
    
    private String categoria;
    private String subCategoria;
    private Double ventas;
    private Double comisionVenta;
    private Double factorMix;
    private List<ComisionVentaDTO> comisionCategorias = new ArrayList<ComisionVentaDTO>();
    
    private DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance();

    public ComisionVentaDTO() {
        symbols.setDecimalSeparator('.');
        symbols.setGroupingSeparator(',');        
    }
   
    /**
     * @return the categoria
     */
    public String getCategoria() {
        return categoria.trim().toUpperCase();
    }

    /**
     * @param categoria the categoria to set
     */
    public void setCategoria(String categoria) {
        this.categoria = categoria;
    }

    /**
     * @return the ventas
     */
    public Double getVentas() {
        return ventas;
    }

    /**
     * @param ventas the ventas to set
     */
    public void setVentas(Double ventas) {
        this.ventas = ventas;
    }

    /**
     * @return the comisionVenta
     */
    public Double getComisionVenta() {
        return comisionVenta;
    }

    /**
     * @param comisionVenta the comisionVenta to set
     */
    public void setComisionVenta(Double comisionVenta) {
        this.comisionVenta = comisionVenta;
    }

    /**
     * @return the factorMix
     */
    public Double getFactorMix() {
        return factorMix;
    }

    /**
     * @param factorMix the factorMix to set
     */
    public void setFactorMix(Double factorMix) {
        this.factorMix = factorMix;
    }

    /**
     * @return the comisionCategorias
     */
    public List<ComisionVentaDTO> getComisionCategorias() {
        return comisionCategorias;
    }

    /**
     * @param comisionCategorias the comisionCategorias to set
     */
    public void setComisionCategorias(List<ComisionVentaDTO> comisionCategorias) {
        this.comisionCategorias = comisionCategorias;
    }

    /**
     * @return the subCategoria
     */
    public String getSubCategoria() {
        return subCategoria;
    }

    /**
     * @param subCategoria the subCategoria to set
     */
    public void setSubCategoria(String subCategoria) {
        this.subCategoria = subCategoria;
    }

    public String getVentaStr(){
        return new DecimalFormat("#,###,###",symbols).format(ventas);
    }
    
    public String getComisionVentaStr(){
        return new DecimalFormat("#,###,##0.00",symbols).format(comisionVenta);
    }    
    
    public String getFactorMixStr(){
        return new DecimalFormat("#,###,##0.00",symbols).format(factorMix*100);
    }        
    
    public String getFactorMixFormated(){
        return new DecimalFormat("#,###,##0.00",symbols).format(factorMix);
    }            
    
}
